package com.eightbears.beboy.entity;

import com.chad.library.adapter.base.entity.MultiItemEntity;
import com.eightbears.beboy.base.BaseDataEntity;
import com.eightbears.beboy.base.BaseEntity;

import java.io.Serializable;
import java.util.List;

public class PayOrderEntity extends BaseEntity implements Serializable{

    private PayOrderData data;

    public PayOrderData getData() {
        return data;
    }

    public void setData(PayOrderData data) {
        this.data = data;
    }

    @Override
    public String toString() {
        return "PayOrderEntity{" +
                "data=" + data +
                '}';
    }

    public static class PayOrderData extends BaseDataEntity implements Serializable{
        private List<PayOrder> list;

        public List<PayOrder> getList() {
            return list;
        }

        public void setList(List<PayOrder> list) {
            this.list = list;
        }

        @Override
        public String toString() {
            return "PayOrderData{" +
                    "list=" + list +
                    '}';
        }
    }


    public static class PayOrder  implements MultiItemEntity, Serializable {

        public static final int ITEM_POST = 1;
        public static final int ITEM_COMMODITY = 2;
        public static final int ITEM_SET_MEAL = 4;

        private String id;
        private String status;
        private String type;
        private String channel;
        private String out_trade_no;
        private String user_id;
        private String total_amount;
        private String receipt_amount;
        private String hong_bao_id;
        private String hong_bao_amount;
        private String object_id;
        private String purchase_id;
        private OrderObject object;


        public String getPurchase_id() {
            return purchase_id;
        }

        public void setPurchase_id(String purchase_id) {
            this.purchase_id = purchase_id;
        }

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getStatus() {
            return status;
        }

        public void setStatus(String status) {
            this.status = status;
        }

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public String getChannel() {
            return channel;
        }

        public void setChannel(String channel) {
            this.channel = channel;
        }

        public String getOut_trade_no() {
            return out_trade_no;
        }

        public void setOut_trade_no(String out_trade_no) {
            this.out_trade_no = out_trade_no;
        }

        public String getUser_id() {
            return user_id;
        }

        public void setUser_id(String user_id) {
            this.user_id = user_id;
        }

        public String getTotal_amount() {
            return total_amount;
        }

        public void setTotal_amount(String total_amount) {
            this.total_amount = total_amount;
        }

        public String getReceipt_amount() {
            return receipt_amount;
        }

        public void setReceipt_amount(String receipt_amount) {
            this.receipt_amount = receipt_amount;
        }

        public String getHong_bao_id() {
            return hong_bao_id;
        }

        public void setHong_bao_id(String hong_bao_id) {
            this.hong_bao_id = hong_bao_id;
        }

        public String getHong_bao_amount() {
            return hong_bao_amount;
        }

        public void setHong_bao_amount(String hong_bao_amount) {
            this.hong_bao_amount = hong_bao_amount;
        }

        public String getObject_id() {
            return object_id;
        }

        public void setObject_id(String object_id) {
            this.object_id = object_id;
        }

        public OrderObject getObject() {
            return object;
        }

        public void setObject(OrderObject object) {
            this.object = object;
        }

        @Override
        public String toString() {
            return "PayOrder{" +
                    "id='" + id + '\'' +
                    ", status='" + status + '\'' +
                    ", type='" + type + '\'' +
                    ", channel='" + channel + '\'' +
                    ", out_trade_no='" + out_trade_no + '\'' +
                    ", user_id='" + user_id + '\'' +
                    ", total_amount='" + total_amount + '\'' +
                    ", receipt_amount='" + receipt_amount + '\'' +
                    ", hong_bao_id='" + hong_bao_id + '\'' +
                    ", hong_bao_amount='" + hong_bao_amount + '\'' +
                    ", object_id='" + object_id + '\'' +
                    ", purchase_id='" + purchase_id + '\'' +
                    ", object=" + object +
                    '}';
        }

        @Override
        public int getItemType() {
            return Integer.parseInt(type);
        }
    }

    public static class OrderObject implements Serializable {

        private String user_id;
        private String category;
        private List<String> images;
        private String post;
        private String price;
        private String shop_id;
        private String code;
        private String title;
        private String cover;
        private String amount;
        private String status;
        private String start_at;
        private String end_at;
        private String payment_info;
        private String point;
        private String money;
        private String shipping_status;
        private OrderUser user;
        private String shop_name;
        private OrderShop shop;
        private String purchase_id;

        public String getPurchase_id() {
            return purchase_id;
        }

        public void setPurchase_id(String purchase_id) {
            this.purchase_id = purchase_id;
        }

        public String getShopName() {
            return shop_name;
        }

        public void setShopName(String shopName) {
            this.shop_name = shopName;
        }

        public OrderShop getShop() {
            return shop;
        }

        public void setShop(OrderShop shop) {
            this.shop = shop;
        }

        public String getUser_id() {
            return user_id;
        }

        public void setUser_id(String user_id) {
            this.user_id = user_id;
        }

        public String getCategory() {
            return category;
        }

        public void setCategory(String category) {
            this.category = category;
        }

        public List<String> getImages() {
            return images;
        }

        public void setImages(List<String> images) {
            this.images = images;
        }

        public String getPost() {
            return post;
        }

        public void setPost(String post) {
            this.post = post;
        }

        public String getPrice() {
            return price;
        }

        public void setPrice(String price) {
            this.price = price;
        }

        public String getShop_id() {
            return shop_id;
        }

        public void setShop_id(String shop_id) {
            this.shop_id = shop_id;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getCover() {
            return cover;
        }

        public void setCover(String cover) {
            this.cover = cover;
        }

        public String getAmount() {
            return amount;
        }

        public void setAmount(String amount) {
            this.amount = amount;
        }

        public String getStatus() {
            return status;
        }

        public void setStatus(String status) {
            this.status = status;
        }

        public String getStart_at() {
            return start_at;
        }

        public void setStart_at(String start_at) {
            this.start_at = start_at;
        }

        public String getEnd_at() {
            return end_at;
        }

        public void setEnd_at(String end_at) {
            this.end_at = end_at;
        }

        public String getPayment_info() {
            return payment_info;
        }

        public void setPayment_info(String payment_info) {
            this.payment_info = payment_info;
        }

        public String getPoint() {
            return point;
        }

        public void setPoint(String point) {
            this.point = point;
        }

        public String getMoney() {
            return money;
        }

        public void setMoney(String money) {
            this.money = money;
        }

        public String getShipping_status() {
            return shipping_status;
        }

        public void setShipping_status(String shipping_status) {
            this.shipping_status = shipping_status;
        }

        public OrderUser getUser() {
            return user;
        }

        public void setUser(OrderUser user) {
            this.user = user;
        }

        public String getShop_name() {
            return shop_name;
        }

        public void setShop_name(String shop_name) {
            this.shop_name = shop_name;
        }

        @Override
        public String toString() {
            return "OrderObject{" +
                    "user_id='" + user_id + '\'' +
                    ", category='" + category + '\'' +
                    ", images=" + images +
                    ", post='" + post + '\'' +
                    ", price='" + price + '\'' +
                    ", shop_id='" + shop_id + '\'' +
                    ", code='" + code + '\'' +
                    ", title='" + title + '\'' +
                    ", cover='" + cover + '\'' +
                    ", amount='" + amount + '\'' +
                    ", status='" + status + '\'' +
                    ", start_at='" + start_at + '\'' +
                    ", end_at='" + end_at + '\'' +
                    ", payment_info='" + payment_info + '\'' +
                    ", point='" + point + '\'' +
                    ", money='" + money + '\'' +
                    ", shipping_status='" + shipping_status + '\'' +
                    ", user=" + user +
                    ", shop_name='" + shop_name + '\'' +
                    ", shop=" + shop +
                    '}';
        }
    }


    public static class OrderUser implements Serializable {

        private String user_id;
        private String nickname;
        private String cover;
        private String sex;
        private String vip_level;

        public String getUser_id() {
            return user_id;
        }

        public void setUser_id(String user_id) {
            this.user_id = user_id;
        }

        public String getNickname() {
            return nickname;
        }

        public void setNickname(String nickname) {
            this.nickname = nickname;
        }

        public String getCover() {
            return cover;
        }

        public void setCover(String cover) {
            this.cover = cover;
        }

        public String getSex() {
            return sex;
        }

        public void setSex(String sex) {
            this.sex = sex;
        }

        public String getVip_level() {
            return vip_level;
        }

        public void setVip_level(String vip_level) {
            this.vip_level = vip_level;
        }

        @Override
        public String toString() {
            return "OrderUser{" +
                    "user_id='" + user_id + '\'' +
                    ", nickname='" + nickname + '\'' +
                    ", cover='" + cover + '\'' +
                    ", sex='" + sex + '\'' +
                    ", vip_level='" + vip_level + '\'' +
                    '}';
        }
    }

    public static class OrderShop implements Serializable {

        private String shop_id;
        private String title;
        private String type;
        private String cover;

        public String getShop_id() {
            return shop_id;
        }

        public void setShop_id(String shop_id) {
            this.shop_id = shop_id;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public String getCover() {
            return cover;
        }

        public void setCover(String cover) {
            this.cover = cover;
        }

        @Override
        public String toString() {
            return "OrderShop{" +
                    "shop_id='" + shop_id + '\'' +
                    ", title='" + title + '\'' +
                    ", type='" + type + '\'' +
                    ", cover='" + cover + '\'' +
                    '}';
        }
    }
}
